﻿Public Class NHACHOTHUE

    Private nBUS As NhaBUS
    Private nDTO As NhaDTO
    Private cm As CurrencyManager
    Private flagIsUp As Boolean
    Private Sub NHACHOTHUE_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        LoadData()
    End Sub

    Private Sub LoadData()
        dgvNhaChoThue.ClearSelection()
        nBUS = New NhaBUS
        Dim nList = New List(Of NhaDTO)
        nList = nBUS.GetData()
        cm = Me.BindingContext(nList)
        txtNha.DataBindings.Add("Text", nList, "MaThongTinNha")
        cboMaLoaiNha.DataBindings.Add("Text", nList, "MaLoaiNha")
        txtDienTich.DataBindings.Add("Text", nList, "DienTich")
        txtGiaThue.DataBindings.Add("Text", nList, "GiaThue")
        cboMaTienIch.DataBindings.Add("Text", nList, "MaTienIch")
        cboThoiGianThue.DataBindings.Add("Text", nList, "ThoiGianThue")
        dtpNgayDang.DataBindings.Add("Text", nList, "NgayDang")
        txtSoNguoiO.DataBindings.Add("Text", nList, "SoNguoiO")
        txtNhanVien.DataBindings.Add("Text", nList, "MaNhanVien")
        txtchuNha.DataBindings.Add("Text", nList, "CMNDChuNha")
        dgvNhaChoThue.DataSource = nList
    End Sub

  
    Private Sub btnThoat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThoat.Click
        Me.Close()
    End Sub

    Private Sub btnThem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThem.Click
        flagIsUp = True
        LockTextbox(True)
        LockButton(False)
        ClearTextbox()
        dgvNhaChoThue.Enabled = False
        txtNha.Focus()
    End Sub

    Private Sub LockTextbox(ByVal f As Boolean)

        If f = False Then
            txtNha.BackColor = Color.LemonChiffon
            cboMaLoaiNha.BackColor = Color.LemonChiffon
            txtDienTich.BackColor = Color.LemonChiffon
            txtGiaThue.BackColor = Color.LemonChiffon
            cboMaTienIch.BackColor = Color.LemonChiffon
            cboThoiGianThue.BackColor = Color.LemonChiffon
            dtpNgayDang.BackColor = Color.LemonChiffon
            txtSoNguoiO.BackColor = Color.LemonChiffon
            txtNhanVien.BackColor = Color.LemonChiffon
            txtchuNha.BackColor = Color.LemonChiffon

        Else
            txtNha.BackColor = Color.White
            cboMaLoaiNha.BackColor = Color.White
            txtDienTich.BackColor = Color.White
            txtGiaThue.BackColor = Color.White
            cboMaTienIch.BackColor = Color.White
            cboThoiGianThue.BackColor = Color.White
            dtpNgayDang.BackColor = Color.White
            txtSoNguoiO.BackColor = Color.White
            txtNhanVien.BackColor = Color.White
            txtchuNha.BackColor = Color.White
        End If
    End Sub
    Private Sub ClearTextbox()
        txtNha.Text = ""
        cboMaLoaiNha.Text = ""
        txtDienTich.Text = ""
        txtGiaThue.Text = ""
        cboMaTienIch.Text = ""
        cboThoiGianThue.Text = ""
        dtpNgayDang.Text = ""
        txtSoNguoiO.Text = ""
        txtNhanVien.Text = ""
        txtchuNha.Text = ""

    End Sub

    Private Function TestInfo() As Boolean
        TestInfo = True
        If Trim(txtNha.Text) = "" Then
            TestInfo = False
            MsgBox("Mã Nhà không được bỏ trống!", MsgBoxStyle.Exclamation, "Thông báo lỗi")
            txtNha.Focus()
            Exit Function
        ElseIf Trim(cboMaLoaiNha.Text) = "" Then
            TestInfo = False
            MsgBox("Mã Loại Nhà không được bỏ trống!", MsgBoxStyle.Exclamation, "Thông báo lỗi")
            cboMaLoaiNha.Focus()
            Exit Function
        ElseIf Trim(txtDienTich.Text) = "" Then
            TestInfo = False
            MsgBox("Diện Tích không được bỏ trống!", MsgBoxStyle.Exclamation, "Thông báo lỗi")
            txtDienTich.Focus()
            Exit Function
        ElseIf Trim(txtGiaThue.Text) = "" Then
            TestInfo = False
            MsgBox("Giá Thuê Nhà không được bỏ trống!", MsgBoxStyle.Exclamation, "Thông báo lỗi")
            txtGiaThue.Focus()
            Exit Function
        ElseIf Trim(cboMaTienIch.Text) = "" Then
            TestInfo = False
            MsgBox("Mã Tiện Ích không được bỏ trống!", MsgBoxStyle.Exclamation, "Thông báo lỗi")
            cboMaTienIch.Focus()
            Exit Function
        ElseIf Trim(cboThoiGianThue.Text) = "" Then
            TestInfo = False
            MsgBox("Thời gian thuê không được bỏ trống!", MsgBoxStyle.Exclamation, "Thông báo lỗi")
            cboThoiGianThue.Focus()
            Exit Function
        ElseIf Trim(dtpNgayDang.Text) = "" Then
            TestInfo = False
            MsgBox("Ngày đăng không được bỏ trống!", MsgBoxStyle.Exclamation, "Thông báo lỗi")
            dtpNgayDang.Focus()
            Exit Function
           ElseIf Trim(txtSoNguoiO .Text) = "" Then
        TestInfo = False
        MsgBox("Số người ở không được bỏ trống!", MsgBoxStyle.Exclamation, "Thông báo lỗi")
        txtSoNguoiO.Focus()
            Exit Function
        ElseIf Trim(txtNhanVien.Text) = "" Then
            TestInfo = False
            MsgBox("Mã Nhân Viên không được bỏ trống!", MsgBoxStyle.Exclamation, "Thông báo lỗi")
            txtNhanVien.Focus()
            Exit Function
        ElseIf Trim(txtchuNha.Text) = "" Then
            TestInfo = False
            MsgBox("CMND chủ nhà không được bỏ trống!", MsgBoxStyle.Exclamation, "Thông báo lỗi")
            txtchuNha.Focus()
            Exit Function
        End If

    End Function
    Private Sub LockButton(ByVal dt As Boolean)
        btnThem.Enabled = dt
        btnSua.Enabled = dt
        btnXoa.Enabled = dt
        btnLuu.Enabled = Not dt
        btnThoat.Enabled = dt
    End Sub

    Private Sub ClearBinding()
        txtNha.DataBindings.Clear()
        cboMaLoaiNha.DataBindings.Clear()
        txtDienTich.DataBindings.Clear()
        txtGiaThue.DataBindings.Clear()
        cboMaTienIch.DataBindings.Clear()
        cboThoiGianThue.DataBindings.Clear()
        dtpNgayDang.DataBindings.Clear()
        txtSoNguoiO.DataBindings.Clear()
        txtNhanVien.DataBindings.Clear()
        txtchuNha.DataBindings.Clear()

    End Sub

    Private Sub btnLuu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLuu.Click
        ' khai bao bien
        Dim manha As String = txtNha.Text
        Dim loainha As String = cboMaLoaiNha.Text
        Dim dientich As String = txtDienTich.Text
        Dim giathue As String = txtGiaThue.Text
        Dim matienich As String = cboMaTienIch.Text
        Dim thoigianthue As String = cboThoiGianThue.Text
        Dim ngaydang As String = dtpNgayDang.Text
        Dim songuoio As String = txtSoNguoiO.Text
        Dim nhanvien As String = txtNhanVien.Text
        Dim chunha As String = txtchuNha.Text
        '---------------------------------------------
        If TestInfo() Then
            nDTO = New NhaDTO(manha, loainha, dientich, giathue, matienich, _
                              thoigianthue, ngaydang, songuoio, nhanvien, chunha)
            nBUS = New NhaBUS()
            nBUS.CapNhat(nDTO, flagIsUp)
            ClearBinding()
            LoadData()
            LockTextbox(False)
            LockButton(True)
            dgvNhaChoThue.Enabled = True
            MsgBox("Đã cập nhật dữ liệu thành công", MsgBoxStyle.Information, "Thông báo")
        End If
    End Sub

    Private Sub btnXoa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnXoa.Click
        Dim manha As String = txtNha.Text
        Dim qs = MsgBox("Bạn chắc chắn muốn xóa tất cả thông tin về:" _
                        & vbCrLf & vbCrLf & " - Mã Nhà: " & txtNha.Text _
                         & vbCrLf & vbCrLf & " - Mã Loại Nhà: " & cboMaLoaiNha.Text _
                        & vbCrLf & vbCrLf & " - Diện Tích: " & txtDienTich.Text & vbCrLf & vbCrLf & "_ Giá Thuê: " & txtGiaThue.Text _
                        & vbCrLf & vbCrLf & " - Mã Tiện Ích: " & cboMaTienIch.Text _
                         & vbCrLf & vbCrLf & " - Thời Gian Thuê: " & cboThoiGianThue.Text _
                          & vbCrLf & vbCrLf & " - Ngày Đăng: " & dtpNgayDang.Text _
                           & vbCrLf & vbCrLf & " - Số Người ở: " & txtSoNguoiO.Text _
                            & vbCrLf & vbCrLf & " - Mã Nhân Viên: " & txtNhanVien.Text _
                             & vbCrLf & vbCrLf & " - CMND Chủ Nhà: " & txtchuNha.Text, _
                        vbInformation + vbYesNo, "Thông báo")
        If qs = vbYes Then
            nDTO = New NhaDTO(manha)
            nBUS = New NhaBUS()
            nBUS.XoaNha(nDTO)
            ClearBinding()
            LoadData()
            LockTextbox(False)
            LockButton(True)
            dgvNhaChoThue.Enabled = True
            MsgBox("Dữ liệu đã xóa thành công", vbInformation, "Thông báo")
        Else
            MsgBox("Đã hủy thao tác xóa!", vbExclamation, "Thông báo")
        End If

    End Sub

    Private Sub btnSua_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSua.Click
        flagIsUp = False
        LockTextbox(True)
        LockButton(False)
        dgvNhaChoThue.Enabled = False
        txtNha.Focus()
    End Sub

    Private Sub btnHuy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHuy.Click
        ClearBinding()
        LoadData()
        LockTextbox(False)
        LockButton(True)
        dgvNhaChoThue.Enabled = True
    End Sub
End Class